package gttp.nspa.client.adm.rpc;

import gttp.nspa.shared.om.Customer;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface ICustomerServiceAsync {

    void load(long id, AsyncCallback<Customer> cb);

    void save(Customer c, AsyncCallback<Void> cb);

    void delete(long id, AsyncCallback<Void> cb);

    void delete(Long[] ids, AsyncCallback<Void> cb);

    void listBy(int offset, int limit, String[] orders, AsyncCallback<List<Customer>> callback);

    void listBy(String name,
                String address,
                String phone,
                String email,
                int offset,
                int limit,
                String[] orders,
                AsyncCallback<List<Customer>> callback);

    void create(String name, String phone, String address, String email, AsyncCallback<Customer> cb);

}
